﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {





            #region 一些方法

            //string a = "见附件已经";
            //string b = "fwf";
            //string c = a + b;
            //Console.WriteLine(a, b);
            //Console.ReadLine();
            /*基于indexof或lastindexOf方法查找
            string str = "we are the world";
            int firstindex = str.IndexOf("r");//获取r第一次出现的位置
            int secondindex = str.IndexOf("r", firstindex + 1);//第三次的位置
            int thiredindex = str.IndexOf("r", secondindex + 1);
            Console.WriteLine("r第一次出现位置：" + firstindex);
            Console.WriteLine("r批二次出现位置：" + secondindex);
            Console.WriteLine("r第三第次出现位置：" + thiredindex);
            Console.ReadLine();
            */

            /* 判断首尾内容
            string str = "梦想还是要有的，万一实现了呢！";
            bool result = str.StartsWith("22");//判断是否以梦想开始
            if (result==true)
            {
                Console.WriteLine("成功了，老大");
            }
            else
            {
                Console.WriteLine("别扯了，这是什么鬼事");

            }
            //Console.WriteLine(aa);
            Console.ReadLine();
            */

            /*
            //字符串拼接
            string s1 = "hello";
            string s2 = "word";
            string s = s1 + "" + s2;
            Console.WriteLine(s);
            Console.ReadLine();
            */

            //比较字符串,除了用===号进行对比外，还有Equals方法
            /*
            string str1 = "zoomla";
            string str2 = "cms";
            Console.WriteLine((str1 == str2));
            Console.ReadLine();
            */


            //比较字符串方法二
            /*
            Console.Write("请输入用户名");
            string name = Console.ReadLine();
            Console.Write("请输入登录密码：");
            string pwd = Console.ReadLine();
            //if (name=="mr"&&pwd.Equals("mrsoft")) //用==或Equals都是合法的
            if (name.Equals("zoomla")&&pwd.Equals("mrsoft"))
            {
                Console.WriteLine("恭喜你登录成功");
            }
            else
            {
                Console.WriteLine("密码错了，老板");
            }
            Console.ReadLine();
            */

            //字符串的大小写转换
            /*
            string tt = "lozoomla cms is best中国Ｂ";
            Console.WriteLine("大写输出:"+tt.ToUpper());
            Console.WriteLine("小写输出:"+tt.ToLower());
            Console.ReadLine();
            */

            /*
            //从完整的文件名中获取文件名和扩展名
            string strFile = "Progarm.cs";
            Console.WriteLine("文件完整名称:" + strFile);
            string strFistname = strFile.Substring(0, strFile.IndexOf('.'));
            string strExtension = strFile.Substring(strFile.IndexOf('.'));
            Console.WriteLine("文件名：" + strFistname);
            Console.WriteLine("扩展名:" + strExtension);
            Console.ReadLine();
            */

            #endregion


            #region  多任务批处理的一种方法 
            /*
            //多任务同时处理-未成功，using System.Threading.Tasks;方法是对的

            #endregion
            List<Task> taskList = new List<Task>();
            taskList.Add(Task.Factory.StartNew(() => {
                Thread.Sleep(1000);
                Console.WriteLine("1秒执行结束");
            }));
            taskList.Add(Task.Factory.StartNew(() => {
                Thread.Sleep(800);
                Console.WriteLine("o.8秒执行结束");
            }));
            Console.WriteLine("执行中");
            TaskFactory taskFactory = new TaskFactory();
            taskList.Add(taskFactory.ContinueWhenAll(taskList.ToArray(), tArray =>
            { Thread.Sleep(200); Console.WriteLine("等待这些完成后执行"); }));
            Console.WriteLine("执行完成");
            Console.Read();

            */

            #endregion

            //获取扩展名 aa = new 获取扩展名();
            //trim去除首尾空白内容 aa = new trim去除首尾空白内容();
            //trim删除首尾要去队的字符 aa = new trim删除首尾要去队的字符();
            //replace替换字符串 aa = new replace替换字符串();
            stringBuilder可变字符串类 aa = new stringBuilder可变字符串类();
            aa.show();



        }
        public class trim去除首尾空白内容
        {
            public void show()
            {
                string str = "                abc             def      ";
                string shortStr = str.Trim();
                Console.WriteLine("str的原值是：【" + str + "】；");
                Console.WriteLine("str去了空白值的：【" + shortStr + "】");
                Console.ReadLine();
            }

        }
        public class trim删除首尾要去队的字符
        {
            public void show()
            {
                char[] charsToTrim = { '*' };//定义要删除首尾要去队的字符数数组
                string str = "*************你***jj一个好人*********";    //定义原始字符串
                string result = str.Trim(charsToTrim);    //去掉字符串的首尾空格
                Console.WriteLine("去了符号后值是：【" + result + "】");
                Console.ReadLine();
            }

        }

        public class replace替换字符串
        {
            public void show()
            {
                string strOld = "one word,one dream";   //声明一个字符串变量并初始化
                Console.WriteLine("原始字符串:" + strOld);   //输出原始字符串
                string strNew1 = strOld.Replace(',', '*');  //使用replace将字符串的","替换为"*"
                Console.WriteLine("\n第一种字符串形式的替换为：" + strNew1);
                //使用replcace方法将字符串的"one"替换为"一个"
                string strNew2 = strOld.Replace("one", "一个");
                Console.WriteLine("\n第二种 形式的替换" + strNew2);
                Console.ReadLine();

            }

        }

        public class stringBuilder可变字符串类
        {
            public void show()
            {
                int num = 368;  //声明一个int类型变量num并初始化为368
                StringBuilder sbuilder = new StringBuilder("逐浪软件");
                sbuilder.Append("》C#编程专家"); //使用Append方法将字符串追加到sbuilder末尾
                Console.WriteLine(sbuilder);
                sbuilder.AppendFormat("fff"+"{0:C2}", num); //{0:C}为货币表现形式，其中最后数字为小数点定义 
                //详见 https://www.cnblogs.com/Gxiaopan/p/4365629.html
                // https://riptutorial.com/zh-TW/csharp/example/4972/%E8%B2%A8%E5%B9%A3%E6%A0%BC%E5%BC%8F
                Console.WriteLine(sbuilder);
                sbuilder.Insert(0, "优秀国产软件公司：");//使用insert方法将字符追加到开头,0代表从头部。
                Console.WriteLine(sbuilder);
                sbuilder.Remove(13, sbuilder.Length - 13);  //从第14位字符起删除
                Console.WriteLine("从第13位字符删除后结果是：" + sbuilder);
                sbuilder.Replace("软件", "CMS");
                Console.WriteLine("替换“软件”为“CMS”后：" + sbuilder);
                Console.ReadLine();

            }
        }
    }
}
